你真的了解入门级命令clear吗?

您所在的位置:网站首页 stata 删除数据 你真的了解入门级命令clear吗?

你真的了解入门级命令clear吗?

2024-05-08 02:05| 来源: 网络整理| 查看: 265

clear命令用来清除内存,可以后接选项,也可以单独使用,我们主要介绍以下几种常见用法:

1. clear

clear单独使用时,指的是清除当前内存中所有的数据和标签,相当于同时运行以下程序:

drop _all //清除当前内存中所有的变量和观测值

label drop _all //清除当前内存中所有的标签

所以呀,只运行clear当然不能清除当前内存中的program,stata就报错啦。

来举个例子:

sysuse auto, clear //打开系统自带的auto文件

describe //总体展示数据情况

label list //列出标签

这个时候我们运行:

clear

describe

label list

可以看到,当前内存中的数据和标签就都被清除啦。

2. clear mata

clear mata指的是清空mata内存,相当于运行:

mata: mata clear //详见往期推文《初识MATA(一)》

3. clear results

clear results指的是清除当前内存中存放的返回值(详见推文《朝花夕拾 | stata返回值》),最常用的返回值有以下两种:

(1)由general命令(如summarize、describe)产生的,存放在宏`r()’中的返回值;

(2)由estimation命令(如regress、logistic)产生的,存放在宏`e()’中的返回值。

举个例子:

sysuse auto, clear

regress price mpg rep78 foreign

summarize price

return list //显示由summarize命令产生的返回值的宏名及结果

ereturn list //显示由regress命令产生的返回值的宏名及结果

接下来我们运行:

clear results

return list

ereturn list

可以看到,由summarize命令和regress命令产生的返回值就都被清除啦。

4. clear matrix

clear matrix指的是清除当前内存中由matrix命令产生的所有矩阵,但是不会清除mata命令的矩阵。比如,我们生成一个矩阵:

matrix input A=(1,2\3,4)

mat list A

上图显示了生成的矩阵A,此时运行:

clear matrix

mat list A

生成的矩阵A就被清除啦。

5. clear programs

clear programs指的是清除当前内存中所有的program,我们回到开头的例子,此时我们想要重新定义“myprog”,首先要清除内存中的program:

clear programs

program define myprog

dis "hi"

end

myprog

这样我们就成功清除原本的“myprog”并重新定义“myprog”啦。

6. clear all

clear all与clear *是一样的,指的是清除当前内存中所有的数据、标签、矩阵、标量、存放的返回值、类、program、mata内存等,同时还可以关闭所有post文件、图表窗口、对话框等,并把所有的计时器归零。

所以呢,当你想要一股脑清除内存中的很多东西时,最省事的办法就是直接运行clear all啦。

注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同纯属巧合!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3